<?php
require_once 'BaseController.php';

/**
 * マイページトップ画面コントローラクラス<br />
 *
 * @package apamanshop
 * @author
 * @copyright　
 */
class Mypage_MenuController extends Mypage_BaseController
{
	/**
	 * インデックスアクション
	 *
	 * @access public
	 * @return void
	 */
	public function indexAction()
	{

		//ログインチェック
		$this->checkLogin();

		//表示テンプレートパス設定
		$this->_display_path = APPLICATION_PATH . '/modules/mypage/views/scripts/common.tpl';

		$this->addMetaCss('/css/mypage/mypage.css');
		//$this->addMetaJs('/js/mypage/list.js');

		// パラメータの取得
		$this->_params = $this->getParameters();

		// eID取得
		$cunnrentEId = $this->getCurrentUserEid();

		$menu_model = new Mypage_Model_Menu();

		// ユーザ情報取得
		$userList = $menu_model->getUId($cunnrentEId);
		// ユーザID設定
		$this->_params['Uid'] = $userList[0]['M92_USER_CD'];

		// インスタンス生成
    	$loader = new Zend_Application_Module_Autoloader(array(
			'namespace' => 'Rstobi',
			'basePath' => APPLICATION_PATH . '/modules/rstobi',
		));
		$recommend_model = new Rstobi_Model_BknRecommend();
		$list_model = new Rstobi_Model_RstobiList();
		$convert_model = new Rstobi_Model_Converte();

		$user_info_model = new Mypage_Model_MakeSideMenu();

		//ユーザＩＤからheyaCdを取得
		$this->_params['HeyaCd'] = $user_info_model->getHeyaCd($this->_params['Uid']);

		// レコメンド用検索条件
		$recomendCond = $this->_params;
		$recomendCond['SrhKbn'] = "01";

		// 部屋コードがある場合のみレコメンド取得
		if ( $recomendCond['HeyaCd'] != "") {

			// レコメンド物件情報取得
			$this->_data['recommend'] = $recommend_model->getRecommendList($recomendCond);
			// 表示用にコンバート
			$this->_data['recommend'] = $recommend_model->convertRecommendList($this->_data['recommend']);
		}

		//サイドメニュー
		$this->setSideMenu($this->_params['Uid'],false);

		$menu_model = new Mypage_Model_Menu();
		//検索条件取得
		$this->_data['kensakuJouken'] = $menu_model->getKensakuJouken($this->_params);
		//hidden作成
		$this->makeHiddenCondition($this->_data['kensakuJouken']);
		//表示用コンバート
		$this->_data['CNVjouken'] = $menu_model->joukenConvert($this->_data['kensakuJouken']);

		// 物件数取得
		$side_model = new Mypage_Model_MakeSideMenu();

		if ( $this->_data['kensakuJouken'] != Array()) {

			$this->_data['mainBukkenCnt'] =  $user_info_model->callBukkenModel($this->_data['kensakuJouken'],"COUNT");
			// 物件データ（一覧）の取得

			if($this->_data['mainBukkenCnt'] > 0)
			{
				$this->_data['buken_list'] = $user_info_model->callBukkenModel($this->_data['kensakuJouken'],"LIST");

				//コンバート
				//$this->_data['buken_list'] = $convert_model->dataConverteForBuken($this->_data['buken_list'], $this->_data['kensakuJouken']);
				$convert_model->dataConverteForBuken(&$this->_data['buken_list'], $this->_data['kensakuJouken']);

				//乱数取得
				$RandomNum = array();
				for ($i = 0; $i <= 19;$i++)
				{
					$RandomNum[] = $i;
				}
				shuffle($RandomNum);

			    for( $i= 0 ; $i <6 ; $i++ ){
			    	$j = 0;
			    	//ランダム
			    	$j = $RandomNum[$i];
			        $this->_data['buken_list'][0][$i] = $this->_data['buken_list'][0][$j];
			    }
				//駅徒歩、概観画像のみコンバート
			    for ($i = 0;$i <6;$i++)
			    {
			    	$images = Apm_Bukkenitems::GetImageDataMain($this->_data['buken_list'][0][$i]);
			    	$this->_data['buken_list'][0][$i]['T03_GAIKAN_GAZOU01_ARR'] = $images[Apm_Config_Search::IMG_TYPE_GAIKAN][0];
			    	$this->_data['CNV_TOHO'][$i] = $menu_model->GetTrafficStr($this->_data['buken_list'][0][$i]);
			    }
			}
		}

		$this->_data['dispBukkenCnt'] = count($this->_data['buken_list'][0]);

		$this->_data['dispBukkenCnt'] = 0;
		for ($i = 0; $i < 6; $i++ ){
			if ( $this->_data['buken_list'][0][$i]['T03_HEYA_CD'] != "" ) {
				$this->_data['dispBukkenCnt'] = $this->_data['dispBukkenCnt'] + 1;
			}
		}

	    //エリア・沿線
		$this->_data['City'] = $menu_model->GetCity($this->_params);
		$this->_data['Station'] = $menu_model->GetStation($this->_params);

		//=====表示用共通パラメータ設定=====
		$this->setCommonParams();
		//=====ブロック設定=====
		//レコメンドヘルパーの設定
    	$this->_data['recommend'] = $this->_recommend_helper->getBlock($this->_data);
    	//サイドメニューヘルパーの設定
		$this->setBlock($this->_menu_helper);

		//=====表示=====
		$this->display($this->_display_path);
	}


	/**
	 * マイページトップ画面の共通パラメータ設定
	 *
	 */
	private function setCommonParams()
	{
		//=====タイトル=====
		$this->setTitle('賃貸情報アパマンショップ[マイページ]');

		//=====タイトルバー設定=====
		$this->setContentsTitle('アパマンショップ マイページ', '');

		$this->_breadcrumb->reset();
        $this->_breadcrumb->add(Apm_Config_Search::BREADCRUMB_TOP, $this->_baseurl);
        $this->_breadcrumb->add('マイページ', $this->_baseurl . 'mypage/menu');
		$this->setBreadCrumb($this->_breadcrumb->generateBreadcrumb());
	}

	/**
	 * 検索条件hidden作成
	 *
	 * @param array $dbdata DBデータ
	 */
	private function makeHiddenCondition($dbdata)
	{
		$tag = "";

		//住所検索(カンマ区切りを配列化)
//		$tag .= "<input type='hidden' id='' name='' value='" . $dbdata["AREA_CD"] . "' />\n";
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["TODOUFUKEN_CD"]))
		{
			$prefs = split(",", $dbdata["TODOUFUKEN_CD"]);
			for ($i = 0; $i < count($prefs); $i++)
			{
				$tag .= "<input type='hidden' id='PrefCd[" . $i . "]' name='PrefCd[" . $i . "]' value='" . $prefs[$i] . "' />\n";
			}
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["SHIKUCHOUSON_CD"]))
		{
			$citis = split(",", $dbdata["SHIKUCHOUSON_CD"]);
			for ($i = 0; $i < count($citis); $i++)
			{
				$tag .= "<input type='hidden' id='CityCd[" . $i . "]' name='CityCd[" . $i . "]' value='" . $citis[$i] . "' />\n";
			}
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["CHOUMEI_CD"]))
		{
			$towns = split(",", $dbdata["CHOUMEI_CD"]);
			for ($i = 0; $i < count($towns); $i++)
			{
				$tag .= "<input type='hidden' id='TownCd[" . $i . "]' name='TownCd[" . $i . "]' value='" . $towns[$i] . "' />\n";
			}
		}

		//沿線(カンマ区切りを配列化)
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["ENSEN_CD"]))
		{
			$ensens = split(",", $dbdata["ENSEN_CD"]);
			for ($i = 0; $i < count($ensens); $i++)
			{
				$tag .= "<input type='hidden' id='RailCd[" . $i . "]' name='RailCd[" . $i . "]' value='" . $ensens[$i] . "' />\n";
			}
		}

		//駅(カンマ区切りを配列化)
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["EKI_CD"]))
		{
			$ekis = split(",", $dbdata["EKI_CD"]);
			for ($i = 0; $i < count($ekis); $i++)
			{
				$tag .= "<input type='hidden' id='StCd[" . $i . "]' name='StCd[" . $i . "]' value='" . $ekis[$i] . "' />\n";
			}
		}

		//賃料関連
		$tag .= "<input type='hidden' id='tinryo1' name='tinryo1' value='" . $dbdata["CHINRYO_MIN"] . "' />\n";
		$tag .= "<input type='hidden' id='tinryo2' name='tinryo2' value='" . $dbdata["CHINRYO_MAX"] . "' />\n";
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["CHINRYO_JKN1"]) && $dbdata["CHINRYO_JKN1"] == "1")
		{
			$tag .= "<input type='hidden' id='tinryo_jouken2' name='tinryo_jouken2' value='on' />\n";
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["CHINRYO_JKN2"]) && $dbdata["CHINRYO_JKN2"] == "1")
		{
			$tag .= "<input type='hidden' id='shikireizero' name='shikireizero' value='on' />\n";
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["CHINRYO_JKN3"]) && $dbdata["CHINRYO_JKN3"] == "1")
		{
			$tag .= "<input type='hidden' id='freerent' name='freerent' value='on' />\n";
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["CHINRYO_JKN4"]) && $dbdata["CHINRYO_JKN4"] == "1")
		{
			$tag .= "<input type='hidden' id='heyawari' name='heyawari' value='on' />\n";
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["TYUSYAJYO_KOMI"]) && $dbdata["TYUSYAJYO_KOMI"] == "1")
		{
			$tag .= "<input type='hidden' id='tyusyajyo_komi' name='tyusyajyo_komi' value='on' />\n";
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["MEYASU_TINRYO"]) && $dbdata["MEYASU_TINRYO"] == "1")
		{
			$tag .= "<input type='hidden' id='meyasu_tinryo' name='meyasu_tinryo' value='meyasu' />\n";
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["SHIKIKIN_NASHI"]) && $dbdata["SHIKIKIN_NASHI"] == "1")
		{
			$tag .= "<input type='hidden' id='shikikin_nashi' name='shikikin_nashi' value='on' />\n";
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["REIKIN_NASHI"]) && $dbdata["REIKIN_NASHI"] == "1")
		{
			$tag .= "<input type='hidden' id='reikin_nashi' name='reikin_nashi' value='on' />\n";
		}
		$tag .= "<input type='hidden' id='syokihiyo' name='syokihiyo' value='" . $dbdata["SYOKIHIYO"] . "' />\n";

		$tag .= "<input type='hidden' id='ekitoho' name='ekitoho' value='" . $dbdata["EKI_TOHO"] . "' />\n";
		$tag .= "<input type='hidden' id='senyu1' name='senyu1' value='" . $dbdata["SENYUU_MENSEKI_MIN"] . "' />\n";
		$tag .= "<input type='hidden' id='senyu2' name='senyu2' value='" . $dbdata["SENYUU_MENSEKI_MAX"] . "' />\n";
		$tag .= "<input type='hidden' id='built' name='built' value='" . $dbdata["CHIKUNENN_KBN"] . "' />\n";
		$tag .= "<input type='hidden' id='jyohou' name='jyohou' value='" . $dbdata["KOUSHIN_KBN"] . "' />\n";
		$tag .= "<input type='hidden' id='SrhKbn' name='SrhKbn' value='" . $dbdata["SEARCH_TYPE"] . "' />\n";
		// バグ対応のためやむを得ず直書き
		if ($dbdata['SEARCH_TYPE'] == Apm_Config_Search::SRHKBN_SUMITAIEKI) {
			$tag .= "<input type='hidden' id='SrhType' name='SrhType' value='" . Apm_Config_Search::SRHTYPE_LIST . "' />\n";
		}
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["BAS_RIYOU"]) && $dbdata["BAS_RIYOU"] == "1")
		{
			$tag .= "<input type='hidden' id='bas_riyou' name='bas_riyou' value='on' />\n";
		}

		//TODO:キャンペーンフラグは、null/0/1しかもっておらず、検索条件の復元は不可能なので考慮しない
//		//キャンペーンフラグ(カンマ区切りを配列化)
//		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["CAMPAIGN_FLAG"]))
//		{
//			$camps = split(",", $dbdata["CAMPAIGN_FLAG"]);
//			for ($i = 0; $i < count($camps); $i++)
//			{
//				$tag .= "<input type='hidden' id='campaign[" . $i . "]' name='campaign[" . $i . "]' value='" . $camps[$i] . "' />\n";
//			}
//		}
		//間取り(カンマ区切りを個別パラメータ化)
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["MADORI"]))
		{
			$mados = split(",", $dbdata["MADORI"]);
			for ($i = 0; $i < count($mados); $i++)
			{
				$tag .= "<input type='hidden' id='madori" . $mados[$i] . "' name='madori" . $mados[$i] . "' value='on' />\n";
			}
		}
		//建物種別(カンマ区切りを個別パラメータ化)
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["TATEMONO_CD"]))
		{
			$tates = split(",", $dbdata["TATEMONO_CD"]);
			for ($i = 0; $i < count($tates); $i++)
			{
				$tag .= "<input type='hidden' id='syubetu" . $tates[$i] . "' name='syubetu" . $tates[$i] . "' value='on' />\n";
			}
		}
		//こだわり条件(ビット)
		if (!Apm_Otheritems::IsNullOrEmpty($dbdata["KODAWARI_JYOKEN"]))
		{
			$allkodawari = $dbdata["KODAWARI_JYOKEN"];
			for ($i = 0; $i < mb_strlen($allkodawari); $i++)
			{
				if (substr($allkodawari, $i, 1) == "1")
				{
					$tag .= "<input type='hidden' id='kodawari" . ($i + 1) . "' name='kodawari" . ($i + 1) . "' value='on' />\n";
				}
			}
		}
		$tag .= "<input type='hidden' id= 'sid' name='sid' value='" .  $dbdata["TOUROKUBI"]  . "' />\n";
		$this->_data['hidddenCondition'] = $tag;
	}

	/**
	 * 検索条件リスト取得アクション
	 *
	 * @access public
	 * @return void
	 */
	public function searchlistAction()
	{
		//=====モデルインスタンス=====
		$model_menu      = new Mypage_Model_Menu();
		$model_side_menu = new Mypage_Model_MakeSideMenu();
		$model_params    = new Mypage_Model_Paraminsert();
		
		// eID取得
		$cunnrentEId = $this->getCurrentUserEid();
		
		// 非ログイン時は処理しない
		if (!empty($cunnrentEId))
		{
			// ユーザ情報取得
			$userList = $model_menu->getUId($cunnrentEId);
			// ユーザID設定
			$this->_params['Uid'] = $userList[0]['M92_USER_CD'];
			
			//=====削除処理(削除ボタン押下時のみ)=====
			if($this->_params['delFG'] == 1 && $this->_params['joukenKbn'] != "")
			{
				$del_params = array();
				$del_params['UID'] = $this->_params['Uid'];
				$del_params['SID'] = $this->_params['joukenKbn'];
				// 削除
				$resCd = $model_params->deleteKensakuJouken($del_params);
			}
			
			// 検索条件一覧の取得
			$model_side_menu->getSearchListMenu($this->_params['Uid'], $this->_params, $this->_data);
		}
		
		//=====表示=====
		$this->setXPassThroutgh();
		$this->display(APPLICATION_PATH . '/modules/mypage/views/helpers/common/menu_search_list.tpl');
	}

	/**
	 * お気に入り物件登録件数取得アクション
	 *
	 * @access public
	 * @return void
	 */
	public function favoritecntAction()
	{
		//=====モデルインスタンス=====
		$model_menu      = new Mypage_Model_Menu();
		$model_side_menu = new Mypage_Model_MakeSideMenu();
		
		// eID取得
		$cunnrentEId = $this->getCurrentUserEid();
		
		// 非ログイン時は処理しない
		if (!empty($cunnrentEId))
		{
			// ユーザ情報取得
			$userList = $model_menu->getUId($cunnrentEId);
			// ユーザID設定
			$this->_params['Uid'] = $userList[0]['M92_USER_CD'];
		}
		else
		{
			$this->_params['Uid'] = "";
		}
		// お気に入り物件登録件数の取得
		$model_side_menu->getFavoriteCntMenu($this->_params['Uid'], $this->_data);
		
		//=====表示=====
		$this->setXPassThroutgh();
		$this->display(APPLICATION_PATH . '/modules/mypage/views/helpers/common/menu_okiniiri_cnt.tpl');
	}

}
?>